﻿// -----------------------------------------------------------------------
// <copyright file="CronicaServico.cs" company="Storytelling">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace Storytelling.Negocio
{
    using System.Linq;
    using Storytelling.Entidades;
    using Storytelling.Modelos;
    using System.Data.Objects;

    public class CronicaServico : BaseServico<Cronica, CronicaFormModel>
    {
        internal CronicaServico()
        {

        }

        protected override void PreOperacao(ObjectContext context, CronicaFormModel model)
        {
            if (model.NarradorValor == 0)
            {
                model.NarradorValor = context.CreateObjectSet<Usuario>()
                    .Single(usu => usu.Login.Equals(model.Narrador)).Id; 
            }
        }

        protected override string LoginUsuarioPermitido(Cronica entidade)
        {
            return entidade.Narrador.Login;
        }

        public void CronicasPessoal(FiltrarModel<Cronica> model, string usuarioCorrente)
        {
            using (var context = Context)
            {
                model.Exemplo.NarradorId = context.CreateObjectSet<Usuario>().Single(usu => usu.Login.Equals(usuarioCorrente)).Id;
            }

            Filtrar(model);
        }
    }
}
